package com.fast.pojo.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

/**
 * @author ruan cai yuan
 * @version 1.0
 * @fileName com.fast.pojo.entity.SysAuthorityDo
 * @description: 权限信息表
 * @TableName sys_authority
 * @since 2024/6/22 19:40
 */
@TableName(value = "sys_authority")
@Data
public class SysAuthorityDo implements Serializable {
    /**
     * 权限ID
     */
    @TableId
    private String authorityId;

    /**
     * 权限资源类型：0-路由组件，1：按钮
     */
    private Integer type;

    /**
     * 受否显示：0-否，1-是;当为按钮时候肯定是0
     */
    private Integer showInMenu;

    /**
     * 权限名称
     */
    private String authorityName;

    /**
     * (路由路径-前端显示，为按钮的时候为空)
     */
    private String path;

    /**
     * 关联的后端请求，多个请求通过 , 分割
     */
    private String relateBackUris;

    /**
     * 前端组件相对@/view/所在目录，如dept/DeptManage
     */
    private String componentPath;

    /**
     * 排序，越小越靠前
     */
    private Integer orderNo;

    /**
     * 图标
     */
    private String icon;

    /**
     * 父级ID,-1没有父级ID
     */
    private Integer parentId;

    /**
     * 创建时间
     */
    private Date createTime;

    /**
     * 更新时间
     */
    private Date updateTime;

    /**
     * 创建人ID
     */
    private String createUserId;

    /**
     * 更新人ID
     */
    private String updateUserId;

    /**
     * 禁用状态 0:启用 1:禁用
     */
    private Integer disabledFlag;

    /**
     * 删除状态 0:启用 1:删除
     */
    private Integer deletedFlag;

    /**
     * 备注
     */
    private String remark;

    /**
     * 对应的子菜单
     */
    @TableField(exist = false)//Mybatis-plus忽略查找
    private List<SysAuthorityDo> children;

    @TableField(exist = false)
    private static final long serialVersionUID = 1L;
}